package com.grad.webstudy.vo;

import java.io.Serializable;
import java.util.List;

/**
 * @Description:
 * @Author: zjf
 * @Date: 2020/2/12 18:16.
 */
public class CourseChapterVo implements Serializable {


    private Integer id;

    private Integer chapterId;

    private Integer courseId;

    private String name;

    private Integer sequence;

    private String label;


    private List<CourseDetailVo> children;


    public CourseChapterVo() {
    }

    @Override
    public String toString() {
        return "CourseChapterVo{" +
                "id=" + id +
                ", chapterId=" + chapterId +
                ", courseId=" + courseId +
                ", name='" + name + '\'' +
                ", sequence=" + sequence +
                ", label='" + label + '\'' +
                ", children=" + children +
                '}';
    }

    public CourseChapterVo(Builder builder) {
        this.id = builder.id;
        this.chapterId = builder.chapterId;
        this.courseId = builder.courseId;
        this.name = builder.name;
        this.sequence = builder.sequence;
        this.label = builder.label;
        this.children = builder.children;
    }

    public Integer getSequence() {
        return sequence;
    }

    public void setSequence(Integer sequence) {
        this.sequence = sequence;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getCourseId() {
        return courseId;
    }

    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<CourseDetailVo> getChildren() {
        return children;
    }

    public void setChildren(List<CourseDetailVo> children) {
        this.children = children;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }


    public Integer getChapterId() {
        return chapterId;
    }

    public void setChapterId(Integer chapterId) {
        this.chapterId = chapterId;
    }


    public static class Builder {
        private Integer id;

        private Integer chapterId;

        private Integer courseId;

        private String name;

        private Integer sequence;

        private String label;


        private List<CourseDetailVo> children;


        public Builder setChapterId(Integer chapterId) {
            this.chapterId = chapterId;
            return this;
        }

        public Builder setLabel(String label) {
            this.label = label;
            return this;
        }

        public Builder setSequence(Integer sequence) {
            this.sequence = sequence;
            return this;
        }

        public Builder setId(Integer id) {
            this.id = id;
            return this;
        }


        public Builder setCourseId(Integer courseId) {
            this.courseId = courseId;
            return this;
        }


        public Builder setName(String name) {
            this.name = name;
            return this;
        }


        public Builder setChildren(List<CourseDetailVo> children) {
            this.children = children;
            return this;
        }

        public CourseChapterVo build() {
            return new CourseChapterVo(this);
        }
    }
}
